﻿#include <iostream>


using namespace std;


bool isPalindrome(string s)
{
    int begin = 0;
    int end = (int)s.size() - 1;
    while (begin < end)
    {
        while (begin < end && !((s[begin] >= 'A' && s[begin] <= 'Z')
            || (s[begin] >= 'a' && s[begin] <= 'z')
            || (s[begin] >= '0' && s[begin] <= '9')))
            ++begin;
        while (begin < end && !((s[end] >= 'A' && s[end] <= 'Z')
            || (s[end] >= 'a' && s[end] <= 'z')
            || (s[end] >= '0' && s[end] <= '9')))
            --end;
        if ((s[begin] >= '0' && s[begin] <= '9') || (s[end] >= '0' && s[end] <= '9'))
            if (s[begin] != s[end])
                return false;
        if (s[begin] + 32 != s[end] && s[begin] - 32 != s[end] && s[begin] != s[end])
            return false;
        ++begin;
        --end;
    }
    return true;
}

void Reverse(string& dest, int begin, int end)
{
    while (begin < end)
    {
        swap(dest[begin], dest[end]);
        ++begin;
        --end;
    }
}

string reverseStr(string s, int k)
{
    string result = s;

    int begin = 0;
    int end = (int)result.size();
    while (begin < end)
    {
        if ((begin + 1) % (2 * k) == 0)
            Reverse(result, begin - 2 * k + 1, begin - k);
        begin += 2 * k - 1;
    }
    if (end % (2 * k) > 0)
        Reverse(result, end - (end % (2 * k)), end - (end % (2 * k)) + k - 1);
    return result;
}

int main()
{
	string tmp("123456");
    string result = reverseStr(tmp, 2);
	cout << result << endl;
	return 0;
}

//int main()
//{
//	cout << pow(10, 2) << endl;
//	return 0;
//}

//int main()
//{
//	string strText = "How are you?";
//
//	string strSeparator = " ";
//
//	string strResult;
//
//	int size_pos = 0;
//
//	int size_prev_pos = 0;
//
//	while ((size_pos = strText.find_first_of(strSeparator, size_pos)) != string::npos)
//	{
//
//		strResult = strText.substr(size_prev_pos, size_pos - size_prev_pos);
//
//		cout << strResult << " ";
//
//		size_prev_pos = ++size_pos;
//
//	}
//
//	if (size_prev_pos != strText.size())
//	{
//		strResult = strText.substr(size_prev_pos, size_pos - size_prev_pos);
//		cout << strResult << " ";
//	}
//	cout << endl;
//	return 0;
//}


//int main()
//{
//
//	string a = "hello world";
//
//	string b = a;
//
//	if (a.c_str() == b.c_str())
//	{
//
//		cout << "true" << endl;
//
//	}
//
//	else cout << "false" << endl;
//
//	string c = b;
//
//	c = "";
//
//	if (a.c_str() == b.c_str())
//
//	{
//
//		cout << "true" << endl;
//
//	}
//
//	else cout << "false" << endl;
//
//	a = "";
//
//	if (a.c_str() == b.c_str())
//	{
//
//		cout << "true" << endl;
//
//	}
//
//	else cout << "false" << endl;
//
//	return 0;
//
//}

//int main()
//{
//	string x("abcdef");
//	string y = x;
//	cout << x << ' ' << y << endl;
//	cout << x.c_str() << ' ' << y.c_str() << endl;
//	cout << (x.c_str() == y.c_str()) << endl;     // 地址不相等
//	cout << strcmp(x.c_str(),y.c_str()) << endl;  // 内容相等 
//	return 0;
//}